#!/bin/bash

# Slackware build script for domination

# Written by B. Watson (urchlay@slackware.uk)

# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.

# See README_SBo.txt for more info on this script (I wrote too many
# comments, moved them to a separate file).

# 20230109 bkw: updated for v1.2.7.
# 20211021 bkw: BUILD=2, new-style icons.
# 20210310 bkw: updated for v1.2.3.
# 20200928 bkw: updated for v1.2.2.
# 20200307 bkw: updated fov v1.2.1.
# 20191202 bkw: updated for v1.2.0.
# 20161030 bkw: whoops, this should have been noarch to begin with.

cd $(dirname $0) ; CWD=$(pwd)

PRGNAM=domination
VERSION=${VERSION:-1.2.7}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
ARCH=noarch

if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
  echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
  exit 0
fi

TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

set -e

SRCNAM=Domination

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM
unzip $CWD/${SRCNAM}_$VERSION.zip
cd $SRCNAM
chown -R root:root .
find -L .  -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
        \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+

# We don't need Windows exes or OSX app bundles. Or the source. Or
# in fact upstream's wrapper scripts (we include our own).
rm -rf *.exe *.app *.cmd *.zip *.htm *.sh ._*

PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION

# Docs first, get rid of DOS line endings.
sed -i 's,\r,,' *.txt
mkdir -p $PKGDOC
mv *.txt $PKGDOC

mkdir -p $PKG/usr/share/icons/hicolor/16x16/apps
mv resources/icon.png $PKG/usr/share/icons/hicolor/16x16/apps/$PRGNAM.png

# Everything else goes in the game dir. share/ is OK as there's no
# native binaries.
mkdir -p $PKG/usr/share/games/$PRGNAM
mv * $PKG/usr/share/games/$PRGNAM

# not sure the copy in resources/ is even used, but keep it.
ln -s ../../../icons/hicolor/16x16/apps/$PRGNAM.png \
      $PKG/usr/share/games/$PRGNAM/resources/icon.png

# Wrapper scripts.
mkdir -p $PKG/usr/games
install -m0755 $CWD/$PRGNAM.sh $PKG/usr/games/$PRGNAM
ln -s $PRGNAM $PKG/usr/games/$PRGNAM-swing

# resources/icon.png is only 16x16. Use 128x128 icon for the larger
# sizes, extracted from the OSX app bundle with icns2png.
for px in 32 48 64 128; do
  size=${px}x${px}
  dir=$PKG/usr/share/icons/hicolor/$size/apps
  mkdir -p $dir
  convert -resize $size $CWD/$PRGNAM.png $dir/$PRGNAM.png
done

mkdir -p $PKG/usr/share/pixmaps
ln -s ../icons/hicolor/48x48/apps/$PRGNAM.png $PKG/usr/share/pixmaps/$PRGNAM.png

# .desktop written for this SlackBuild.
APPDIR=$PKG/usr/share/applications
mkdir -p $APPDIR
cat $CWD/$PRGNAM.desktop > $APPDIR/$PRGNAM.desktop
cat $CWD/$PRGNAM-swing.desktop > $APPDIR/$PRGNAM-swing.desktop

# no man pages, no command-line options.

cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
